package geos;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class DAOCliente {

    int cod_cliente, nr_cnpjcpf, nr_ierg;
    String nm_cliente, ds_email, nm_fantasia, ds_uf, ds_cidade, ds_bairro, ds_rua, ds_num, ds_complemento;
    boolean st_tipocliente;
    
    public DAOCliente(int cod_cliente, int nr_cnpjcpf, int nr_ierg, boolean st_tipocliente, String nm_cliente, String ds_email, String nm_fantasia, String ds_uf, String ds_cidade, String ds_bairro, String ds_rua, String ds_num, String ds_complemento) {
        this.cod_cliente = cod_cliente;
        this.nr_cnpjcpf = nr_cnpjcpf;
        this.nr_ierg = nr_ierg;
        this.st_tipocliente = st_tipocliente;
        this.nm_cliente = nm_cliente;
        this.ds_email = ds_email;
        this.nm_fantasia = nm_fantasia;
        this.ds_uf = ds_uf;
        this.ds_cidade = ds_cidade;
        this.ds_bairro = ds_bairro;
        this.ds_rua = ds_rua;
        this.ds_num = ds_num;
        this.ds_complemento = ds_complemento;
    }

    public boolean getSt_tipocliente() {
        return st_tipocliente;
    }

    public void setSt_tipocliente(boolean st_tipocliente) {
        this.st_tipocliente = st_tipocliente;
    }

    public int getCod_cliente() {
        return cod_cliente;
    }

    public void setCod_cliente(int cod_cliente) {
        this.cod_cliente = cod_cliente;
    }

    public int getNr_cnpjcpf() {
        return nr_cnpjcpf;
    }

    public void setNr_cnpjcpf(int nr_cnpjcpf) {
        this.nr_cnpjcpf = nr_cnpjcpf;
    }

    public int getNr_ierg() {
        return nr_ierg;
    }

    public void setNr_ierg(int nr_ierg) {
        this.nr_ierg = nr_ierg;
    }

    public String getNm_cliente() {
        return nm_cliente;
    }

    public void setNm_cliente(String nm_cliente) {
        this.nm_cliente = nm_cliente;
    }

    public String getDs_email() {
        return ds_email;
    }

    public void setDs_email(String ds_email) {
        this.ds_email = ds_email;
    }

    public String getNm_fantasia() {
        return nm_fantasia;
    }

    public void setNm_fantasia(String nm_fantasia) {
        this.nm_fantasia = nm_fantasia;
    }

    public String getDs_uf() {
        return ds_uf;
    }

    public void setDs_uf(String ds_uf) {
        this.ds_uf = ds_uf;
    }

    public String getDs_cidade() {
        return ds_cidade;
    }

    public void setDs_cidade(String ds_cidade) {
        this.ds_cidade = ds_cidade;
    }

    public String getDs_bairro() {
        return ds_bairro;
    }

    public void setDs_bairro(String ds_bairro) {
        this.ds_bairro = ds_bairro;
    }

    public String getDs_rua() {
        return ds_rua;
    }

    public void setDs_rua(String ds_rua) {
        this.ds_rua = ds_rua;
    }

    public String getDs_num() {
        return ds_num;
    }

    public void setDs_num(String ds_num) {
        this.ds_num = ds_num;
    }

    public String getDs_complemento() {
        return ds_complemento;
    }

    public void setDs_complemento(String ds_complemento) {
        this.ds_complemento = ds_complemento;
    }

    public boolean InsertCliente() {
        try {
            String sql = "INSERT INTO `silvaar`.`cliente`VALUES(null,?,?,?,?,?,?,?,?,?,?,?,?);";
            Connection connection;
            connection = Banco.getConnection();
            PreparedStatement ps = connection.prepareStatement(sql);
            ps.setString(1, this.getNm_cliente());
            ps.setString(2, this.getDs_email());
            ps.setBoolean(3, this.getSt_tipocliente());
            ps.setInt(4, this.getNr_cnpjcpf());
            ps.setInt(5, this.getNr_ierg());
            ps.setString(6, this.getNm_fantasia());
            ps.setString(7, this.getDs_uf());
            ps.setString(8, this.getDs_cidade());
            ps.setString(9, this.getDs_bairro());
            ps.setString(10, this.getDs_rua());
            ps.setString(11, this.getDs_num());
            ps.setString(12, this.getDs_complemento());
            
            int result = ps.executeUpdate();
            System.out.println(ps);
            return true;
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Erro de SQL. Detalhes:" + e.getMessage());
            return false;
        } catch (NullPointerException e) {
            JOptionPane.showMessageDialog(null, "Conexão Nula");
            return false;
        }

    }

}
